import axios from 'axios'
import request from '../utils/request'

// 根据分类获取三方网站商品
export const fnjiProductGet = async (category,fnjiType,objectId)=>{
  // 1. 获取三方商品数据
  let url = `/fnji/mt/s/ProductSkuModel/getByCategory?category=${category}&fnjiType=${fnjiType}`
  let res = await axios.get(url)
  console.log('商品数据',res);  //当前网站的商品数组是在res.data.data

  // 2. 将商品数据转存至LeanCloud
  await productBatch(res.data.data)

  // 3. 在分类表中更新当前分类商品的转存状态
  await categoryPut(objectId)
}

// 批量转存商品数据
export const productBatch = (prodArr)=>{ //prodArr是待转存的商品数据
  let arr = [
    // {
      // "method": "POST", // 1. 这一条数据执行什么操作
      // "path": "/1.1/classes/product", //2. 批量操作目标表
      // "body": { //3. 携带的数据包
      //   ...商品数据
      // }
    // }
  ]
  for(let i=0;i<prodArr.length;i++){
    arr.push({
      "method": "POST", // 1. 这一条数据执行什么操作
      "path": "/1.1/classes/product", //2. 批量操作目标表
      "body": prodArr[i]
    })
  }
  return request.post('/batch',{
    "requests":arr
  })
}


// 更新分类数据
export const categoryPut = (objectId)=>{
  return request.put(`/classes/category/${objectId}`,{
    "saveType":1  
  })
}

// 查询商品列表
export const productGet = (page=1,limit=12,condition={})=>{
  let skip = (page-1)*limit
  let where = {}
  if(condition.fnjiType){
    where.fnjiType = condition.fnjiType
  }
  if(condition.name){
    // where.name = condition.name  //精准匹配
    where.name = {"$regex":condition.name,"$options":"i"}  //模糊查询、正则匹配
  }
  let wh = JSON.stringify(where) //将查询条件对象整合为json字符串
  return request.get(`/classes/product?count=1&limit=${limit}&skip=${skip}&where=${wh}`)
}

//更新商品
export const productPut = (objectId,editData)=>{
  return request.put(`/classes/product/${objectId}`,editData)
}